\chapter{L'interface graphique}

\includegraphics[width=11cm]{interface_tcl.png}
\newline
\newline
Conçue en TCL/TK, cette interface sert en quelque sorte de jointure à l'ensemble des parties du projet.
Elle se caractérise par une barre de menu et de trois fenêtres (widget text) concourantes à la compilation d'un programme pascal et à la visualisation de ses erreurs.
\section{Menu}
Le menu permet à l'utilisateur de réaliser plusieurs opérations sur le programme qui sera à charger et compilé dans l'interface.
Le premier onglet accessible est « Fichier ». Il réalise les fonctions suivantes :

\begin{itemize}
	\item Nouveau : Permet de créer un nouveau fichier programme et de l'éditer dans la fenêtre de gauche;
	\item Ouvrir : Permet d'ouvrir un programme Pascal déjà existant et de l'éditer dans la fenêtre de gauche;
	\item Enregistrer : Permet d'enregistrer les modifications apportées au fichier édité;
	\item Enregistrer Sous : Permet d'enregistrer physiquement le programme, dans un des répertoires du système de fichiers.
	\item Quitter : Permet de quitter l'application.
\end{itemize}

\section{Interface principale}

\subsection{Fenêtre du programme Pascal}
Situé à gauche de l'écran, c'est cette fenêtre qui est concernée par l'intégralité des commandes disponibles dans l'onglet « Fichier » du menu.
Elle permet d'afficher le programme Pascal qui pourra être compilé via les autres boutons et commandes de l'interface.

\subsection{Fenêtre du P-Code}

La fenêtre située au milieu de l'interface permet d'afficher le P-Code qui a été généré à l'issue de la compilation et après avoir appuyé sur l'un des deux boutons centrales ">>" et ">".
\begin{itemize}
	\item Le premier bouton permet d'analyser le programme Pascal, d'en lister les erreurs, mais sans générer le PCode correspondant;
	\item Le second bouton analyse le code et génère le PCode.
\end{itemize}
Il est possible d'ajouter un point d'arrêt en cliquant sur le numéro de ligne sur lequel on souhaite le disposer. La ligne correspondante sera surlignée en rouge.

La partie réservée au PCode possède également 4 boutons, qui permettent d'interagir avec les différentes lignes du programme :

\begin{itemize}
	\item Exec : permet d'éxécuter l'instruction de la ligne courante;
	\item PA : permet de passer au prochain point d'arret;
	\item Next : permet de passer à la prochaine instruction;
	\item Quit : permet de quitter le mode pas à pas.
\end{itemize}

\subsection{Pile d'éxécution}

Cette partie de l'interface, située à gauche de l'écran, permet d'afficher le contenu de la pile d'éxécution. Une liste détaille les différentes variables du programme Pascal, ainsi que leurs valeurs. Au bas de cette liste se situe 3 champs : CO (Compteur Ordinal), Drapeau et RI (Dernière Instruction).

\subsection{Console des erreurs}

Au bas de l'interface se trouve la fenêtre récapitulant les différentes erreurs de compilation qui ont été détectées. Une champ de saisie, se trouvant au base de la console, permet d'insérer des commandes ou du texte, quand la console le demande.

